﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;

using BUS;
using DTO;

namespace Control
{
    public partial class ctrlThayDoiQuyDinh : DevExpress.XtraEditors.XtraUserControl
    {
        public ctrlThayDoiQuyDinh()
        {
            InitializeComponent();

            //chỉ cho nhập số trên textbox tiền trả trễ
            this.txtTienPhatTraTre.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.Numeric;
        }

        private void ctrlThayDoiQuyDinh_Load(object sender, EventArgs e)
        {
            //load tham số
            txtTuoiToiThieu.Text = ThamSoBUS.TuoiToiThieu().GiaTri.ToString();
            txtTuoiToiDa.Text = ThamSoBUS.TuoiToiDa().GiaTri.ToString();
            txtHanSuDung.Text = ThamSoBUS.HanSuDung().GiaTri.ToString();
            txtKhoangCachNamXuatBan.Text = ThamSoBUS.KhoangCachNamXuatBan().GiaTri.ToString();
            txtSoSachMuonToiDa.Text = ThamSoBUS.SoSachMuonToiDa().GiaTri.ToString();
            txtThoiGianMuonToiDa.Text = ThamSoBUS.ThoiGianMuonToiDa().GiaTri.ToString();
            txtTienPhatTraTre.Text = ThamSoBUS.TienPhatTraTre().GiaTri.ToString();
        }

        private void txtTuoiToiThieu_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
                e.Handled = true;
        }

        private void btnDongY_Click(object sender, EventArgs e)
        {
            //kiểm tra
            if (KiemTra() == false)
                return;

            try
            {
                //cập nhật
                ThamSoBUS.CapNhat_TuoiToiThieu(float.Parse(txtTuoiToiThieu.Text));
                ThamSoBUS.CapNhat_TuoiToiDa(float.Parse(txtTuoiToiDa.Text));
                ThamSoBUS.CapNhat_HanSuDung(float.Parse(txtHanSuDung.Text));
                ThamSoBUS.CapNhat_KhoangCachNamXuatBan(float.Parse(txtKhoangCachNamXuatBan.Text));
                ThamSoBUS.CapNhat_SoSachMuonToiDa(float.Parse(txtSoSachMuonToiDa.Text));
                ThamSoBUS.CapNhat_ThoiGianMuonToiDa(float.Parse(txtThoiGianMuonToiDa.Text));
                ThamSoBUS.CapNhat_TienPhatTraTre(float.Parse(txtTienPhatTraTre.Text));

                //show thông báo
                MessageBox.Show("Cập nhật thành công!!!");
            }
            catch (Exception ex)
            {
                //show lỗi
                MessageBox.Show(ex.Message, "Lỗi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private bool KiemTra()
        {
            if (txtTuoiToiThieu.Text.Trim() == "")
            {
                MessageBox.Show("Tuổi tối thiếu không để trống", "Lỗi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }

            if (txtTuoiToiDa.Text.Trim() == "")
            {
                MessageBox.Show("Tuổi tối đa không để trống", "Lỗi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }

            if (txtHanSuDung.Text.Trim() == "")
            {
                MessageBox.Show("Hạn sử dụng không để trống", "Lỗi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }

            if (txtKhoangCachNamXuatBan.Text.Trim() == "")
            {
                MessageBox.Show("Khoảng cách năm xuất bản không để trống", "Lỗi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }

            if (txtSoSachMuonToiDa.Text.Trim() == "")
            {
                MessageBox.Show("Số sách mượn tối đa không để trống", "Lỗi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }

            if (txtThoiGianMuonToiDa.Text.Trim() == "")
            {
                MessageBox.Show("Thời gian mượn tối đa không để trống", "Lỗi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }

            if (txtTienPhatTraTre.Text == "0")
            {
                MessageBox.Show("Tiền phạt trả trễ phải khác 0", "Lỗi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }

            return true;
        }
    }
}
